import java.util.concurrent.TimeUnit;

/**
 * @description: 示例什么叫做线程
 * @author: zys
 * @create: 2020-10-19 10:34
 **/
public class WhatIsThread {

    /**
     * 继承Thread类来实现一个线程
     */
    private static class T1 extends Thread {
        @Override
        public void run() {
            for (int i = 0; i < 10; i++) {
                try {
                    TimeUnit.MICROSECONDS.sleep(1);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println("T1");
            }
        }
    }

    /**
     * 结果中可以看到"T1"和"main"的交替树池，这个就是程序中有两条不同的执行路径在交叉进行，这个就是直观概念上的线程
     */
    public static void main(String[] args) {
        new T1().start();
        for (int i = 0; i < 10; i++) {
            try {
                TimeUnit.MICROSECONDS.sleep(1);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("main");
        }
    }

}
